方法①:【递归调用】
public int Foo(int i)
{
if (i < 0) return 0;
else if (i > 0 && i <= 2) return 1;
else return Foo(i - 1) + Foo(i - 2);
}
方法②:【for循环】
public int AddNum(int x)
{
int f1 = 1;
int f2 = 1;
int f3 = 0;
for (int j = 0; j < x; j++)
{
if (j > 1)
{
f3 = f2 + f1;
f1 = f2;
f2 = f3;
}
else
{
f3 = 1;
}
}
return f3;
}
调用(假设求第30位):
public void button1_Click(object sender, EventArgs e)
{
int xx = Foo(30);
int yy = AddNum(30);
MessageBox.Show(xx.ToString() +"---"+ yy.ToString());
}
结果:832040---832040